package hos.demo;

import java.util.List;
import java.util.Map;

import hos.http.HttpFile;
import hos.http.HttpRequest;
import hos.http.SoapConst;
import hos.http.anotation.BaseUrl;
import hos.http.anotation.BaseUrlEnd;
import hos.http.anotation.Data;
import hos.http.anotation.File;
import hos.http.anotation.Headers;
import hos.http.anotation.Param;
import hos.http.anotation.Query;
import hos.http.anotation.Soap;
import hos.http.anotation.SoapDotNet;
import hos.http.anotation.SoapHeaders;
import hos.http.anotation.SoapNameSpace;
import hos.http.anotation.SoapVersion;
import hos.http.anotation.Type;

/**
 * <p>Title: TestService </p>
 * <p>Description:  </p>
 * <p>Company: www.mapuni.com </p>
 *
 * @author : 蔡俊峰
 * @version : 1.0
 * @date : 2024-04-12 16:28
 */
@BaseUrl(value = "http://192.168.120.227:8090")
@BaseUrlEnd(value = "/WebService/MobileEnforcementWebService.asmx")
@SoapNameSpace(value = "http://tempuri.org/")
@SoapVersion(value = SoapConst.VER12)
@SoapDotNet(value = true)
@Headers({"start:start", "starting:starting"})
@SoapHeaders({"start:start", "starting:starting"})
public interface TestWebService {

    @Soap(methodName = "GetServerDateTime")
    @Headers({"startNow:startNow", "startingRoate:startingRoate"})
    @Type(value = {List.class, String.class})
    HttpRequest<?> getServerTime(
            @Query(value = "mine") String mine,
            @Param(value = "key") String value,
            @Param(value = "word") String word,
            @Data List<HttpFile> httpFileListData,
            @Data List<Map<String, Object>> jsonArrays,
            @Data Map<String, Object> jsonMap,
            @File(value = "name") List<String> fileList,
            @File(value = "name") List<HttpFile> httpFileList);

}
